The present invention relates generally to the field of computer user interfaces, and more particularly to methods and systems for providing user interfaces that include content selected based on when the user interface is being provided.
The user of a computer typically communicates with the computer""s operating system and applications via user interfaces (UIs) specifically designed for each operating system function or application. For example, an Internet browser will have a toolbar, drop down menus, a xe2x80x9cfavoritesxe2x80x9d list, and the like. In general, each UI is built from a set of UI elements that provide the application with the information needed to build the user interface. These elements provide information such as the user""s xe2x80x9cfavoritesxe2x80x9d list, emailbox, toolbars, default directories, etc.
Typically, a user interface is built from the same set of elements every time the user runs a given application, operating system function, or utility, unless the user manually changes one or more of the elements. For example, in connection with an Internet browser, the user may have a favorites list that includes Universal Resource Locators (URLs) for certain preferred Web sites the user accesses frequently. When the user initiates the browser residing on the host computer, the user interface that is built includes, among other things, the user""s favorites list in a format the user can access and manipulate. The same favorites list is displayed every time the user initiates the browser and clicks on the xe2x80x9cfavoritesxe2x80x9d button on the toolbar. If, however, the user changes the favorites list during a particular session (e.g., adds, modifies, or deletes an entry in the favorites list), the changes are saved and, the next time the user initiates the browser and clicks on the xe2x80x9cfavoritesxe2x80x9d button, the new favorites list is displayed. Thus, the user interface for a particular application remains the same, independent of the time of day, day of the week, day of the year, etc., unless the user manually changes it.
It would be beneficial to the user, however, if the host computer system were to change the user interface dynamically depending on the time at which the user experience occurs. For example, a user might like to view certain types of content in the morning, different types of content in the afternoon, and still different types in the evening. Similarly, the user might wish to view certain types of content during the work week, but different types of content on the weekend. In these situations, the user would benefit from a mechanism that provides the user with different user interfaces at different times of the day, different days of the week, or other such spans of time. In general, it would improve the user experience if the applications running on the host computer system were to build user interfaces based on elements that are selected to provide content specifically tailored to the needs of the user based on the time at which the user experience occurs. Additionally, it would be beneficial to have a mechanism for updating time based user interfaces as time progresses.
The present invention provides improved methods and systems for presenting information to the user of a host computer system. According to the invention, the user interface provided to the user includes content that is selected based on the time at which the user experience occurs. According to the present invention, one or more time periods are predefined, each of which is associated with one or more UI elements that include content determined to be of interest to the user during the associated time period. These UI elements include such information as user preferences, favorites lists, toolbars, default directories, etc.
The predefined time periods can be defined by one or more conditions being satisfied, or simply by a span of time. For example, a time period such as xe2x80x9cMorningxe2x80x9d can be defined to occur from 6:00 AM until noon. Similarly, a time period such as xe2x80x9cWeekendxe2x80x9d can be defined to occur from 6:00 PM Friday until 6:00 AM Monday. In yet another example, a time period such as xe2x80x9cChristmasxe2x80x9d can be defined to occur on December 25th.
When the user logs onto the host computer system, a temporal engine residing in the host computer determines whether the current experience is occurring during one or more of the predefined time periods. If so, the temporal engine causes applications running on the host computer to provide user interfaces built from the UI elements associated with that time period. Consequently, the user interfaces provide content that has been determined to be relevant to a user experience occurring during that time period. The temporal engine continues to run silently in the background and causes the user interfaces to be updated as time progresses from one predefined time period to another.
For example, if the user logs onto the host computer system in the morning, the temporal engine can provide a user interface built from the UI elements associated with the predefined time period of xe2x80x9cMorning.xe2x80x9d Similarly, if the user logs onto the host computer system in the afternoon, the temporal engine provides a user interface built from the UI elements associated with the predefined time period of xe2x80x9cAfternoon.xe2x80x9d Moreover, if the user logs on in the morning and stays logged on until after noon, the temporal engine causes the user interface to change from that defined for the context of xe2x80x9cMorningxe2x80x9d to that defined for the context of xe2x80x9cAfternoon,xe2x80x9d etc.
These and other features of the present invention are described in greater detail below.